/**********************************************
*  Classes:   LoaderTgaGL
*  Desc:      Loads .tga files and creates
*		      TextureProperties
*  Author:    Vaios Kalpias-Ilias (C) 2008-2009
***********************************************/

#ifndef LOADERTGAGL_H
#define LOADERTGAGL_H

class TextureProperty;
class CdnRenderer;

class LoaderTgaGL
{
	friend class CdnResourceLoader;

private:
	LoaderTgaGL();
	~LoaderTgaGL();

	// loads a 3ds file and creates
	// a geometry node to display it
	static TextureProperty* Load(const char *filename,
						  CdnRenderer* renderer, bool bUseMipMaps);

	// unloads a texture
	static void Unload(TextureProperty* texture);

	typedef struct												
	{
		unsigned char *imageData;	// Image Data (Up To 32 Bits)
		unsigned int bpp;		// Image Color Depth In Bits Per Pixel.
		unsigned int width;		// Image Width
		unsigned int height;		// Image Height
		unsigned int texID;		// Texture ID Used To Select A Texture
	} TextureImage;			
	
};

#endif
